# 要求：所有对象共享的属性和方法，可以定义为类属性和类方法
# UI自动化测试
# 1.导包
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service


class Utils(object):
    # 类属性：浏览器驱动对象
    driver = None  # 不定义驱动，退出浏览器时，会报错

    # 创建浏览器驱动对象
    @classmethod
    def get_driver(cls):
        # path = r"chromedriver.exe"  # 定义驱动路径
        # ser = Service(executable_path=path)  # 实例化Chrome浏览器服务驱动
        # 添加判断：浏览器驱动是否存在
        if cls.driver is None:
            cls.driver = webdriver.Chrome(executable_path = 'chromedriver.exe')  # 打开Chrome浏览器
            # # 打开百度浏览器
            cls.driver.get("https://www.baidu.com")
        return cls.driver

    # 退出浏览器
    @classmethod
    def quit_driver(cls):
        time.sleep(2)
        cls.driver.quit()



if __name__ == '__main__':
    # 使用浏览器驱动对象
    Utils.get_driver()
    Utils.quit_driver()
    print("xxxxxx")